package br.com.jk.util;

/**
 * Filtro de objeto, que testa se um obejto candidato T confere com o filtro.
 *
 * @author Tomaz Lavieri
 * @param <T> o tipo de objetos que o filtro testa.
 * @see CollectionUtils
 */
public interface Filter<T> {

  /**
   * Verifica se o objeto candidato passa pelo filtro.
   *
   * @param candidate Objeto candidato.
   * @return <tt>true</tt> - caso o candidato passe no filtro.
   * <br><tt>false</tt> - caso o candidato não pesse pelo filtro.
   */
  public boolean match(T candidate);
}
